package com.hksj.cbm.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hksj.cbm.dto.DeviceDTO;
import com.hksj.cbm.entity.DeviceInstance;
import com.hksj.cbm.query.DeviceInstanceQuery;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author fjt
 * @data 2024/7/11 9:20
 * @describe 设备信息表
 */
@Mapper
public interface DeviceInstanceMapper extends BaseMapper<DeviceInstance> {

    //查询指定空间位置下指定专业的全部设备
    List<DeviceInstance> deviceList(@Param("dto") DeviceDTO dto);

    List<DeviceInstance> queryDeviceInstanceListByPaging(Page<DeviceInstance> page, @Param("deviceInstanceQuery") DeviceInstanceQuery deviceInstanceQuery);

    //查询设备所属专业
    Long querySpecialityOfDevice(@Param("deviceId") String deviceId);

    /**
     * 查询指定设备的物模型信息，包含所属产品的物模型
     * @param deviceId
     * @return
     */
    DeviceInstance selectDeviceInstanceById(@Param("deviceId") String deviceId);

    /**
     * 批量查询指定设备的物模型信息，包含所属产品的物模型
     * @param list
     * @return
     */
    List<DeviceInstance> selectDeviceInstanceBatchIds(@Param("list")List<String> list);


}
